(component
  (type (;0;)
    (component
      (type (;0;)
        (instance
          (type (;0;) (enum "a"))
          (export (;1;) "e1" (type (eq 0)))
          (type (;2;) (record (field "f" u8)))
          (export (;3;) "single" (type (eq 2)))
          (type (;4;) (variant (case "a") (case "c" 1) (case "d" string) (case "e" 3) (case "f") (case "g" u32)))
          (export (;5;) "v1" (type (eq 4)))
          (type (;6;) (variant (case "a" s32) (case "b" f32)))
          (export (;7;) "casts1" (type (eq 6)))
          (type (;8;) (variant (case "a" f64) (case "b" f32)))
          (export (;9;) "casts2" (type (eq 8)))
          (type (;10;) (variant (case "a" f64) (case "b" u64)))
          (export (;11;) "casts3" (type (eq 10)))
          (type (;12;) (variant (case "a" u32) (case "b" s64)))
          (export (;13;) "casts4" (type (eq 12)))
          (type (;14;) (variant (case "a" f32) (case "b" s64)))
          (export (;15;) "casts5" (type (eq 14)))
          (type (;16;) (tuple f32 u32))
          (type (;17;) (tuple u32 u32))
          (type (;18;) (variant (case "a" 16) (case "b" 17)))
          (export (;19;) "casts6" (type (eq 18)))
          (type (;20;) (enum "bad1" "bad2"))
          (export (;21;) "my-errno" (type (eq 20)))
          (type (;22;) (func (param "x" 1)))
          (export (;0;) "e1-arg" (func (type 22)))
          (type (;23;) (func (result 1)))
          (export (;1;) "e1-result" (func (type 23)))
          (type (;24;) (func (param "x" 5)))
          (export (;2;) "v1-arg" (func (type 24)))
          (type (;25;) (func (result 5)))
          (export (;3;) "v1-result" (func (type 25)))
          (type (;26;) (func (param "x" bool)))
          (export (;4;) "bool-arg" (func (type 26)))
          (type (;27;) (func (result bool)))
          (export (;5;) "bool-result" (func (type 27)))
          (type (;28;) (option bool))
          (type (;29;) (tuple u32))
          (type (;30;) (option 29))
          (type (;31;) (option u32))
          (type (;32;) (option 1))
          (type (;33;) (option f32))
          (type (;34;) (option 28))
          (type (;35;) (func (param "a" 28) (param "b" 30) (param "c" 31) (param "d" 32) (param "e" 33) (param "g" 34)))
          (export (;6;) "option-arg" (func (type 35)))
          (type (;36;) (tuple 28 30 31 32 33 34))
          (type (;37;) (func (result 36)))
          (export (;7;) "option-result" (func (type 37)))
          (type (;38;) (tuple 7 9 11 13 15 19))
          (type (;39;) (func (param "a" 7) (param "b" 9) (param "c" 11) (param "d" 13) (param "e" 15) (param "f" 19) (result 38)))
          (export (;8;) "casts" (func (type 39)))
          (type (;40;) (result))
          (type (;41;) (result (error 1)))
          (type (;42;) (result 1))
          (type (;43;) (result 29 (error 29)))
          (type (;44;) (result u32 (error 5)))
          (type (;45;) (list u8))
          (type (;46;) (result string (error 45)))
          (type (;47;) (func (param "a" 40) (param "b" 41) (param "c" 42) (param "d" 43) (param "e" 44) (param "f" 46)))
          (export (;9;) "expected-arg" (func (type 47)))
          (type (;48;) (tuple 40 41 42 43 44 46))
          (type (;49;) (func (result 48)))
          (export (;10;) "expected-result" (func (type 49)))
          (type (;50;) (result s32 (error 21)))
          (type (;51;) (func (result 50)))
          (export (;11;) "return-expected-sugar" (func (type 51)))
          (type (;52;) (result (error 21)))
          (type (;53;) (func (result 52)))
          (export (;12;) "return-expected-sugar2" (func (type 53)))
          (type (;54;) (result 21 (error 21)))
          (type (;55;) (func (result 54)))
          (export (;13;) "return-expected-sugar3" (func (type 55)))
          (type (;56;) (tuple s32 u32))
          (type (;57;) (result 56 (error 21)))
          (type (;58;) (func (result 57)))
          (export (;14;) "return-expected-sugar4" (func (type 58)))
          (type (;59;) (option s32))
          (type (;60;) (func (result 59)))
          (export (;15;) "return-option-sugar" (func (type 60)))
          (type (;61;) (option 21))
          (type (;62;) (func (result 61)))
          (export (;16;) "return-option-sugar2" (func (type 62)))
          (type (;63;) (result u32 (error s32)))
          (type (;64;) (func (result 63)))
          (export (;17;) "expected-simple" (func (type 64)))
        )
      )
      (export (;0;) "foo:variants/variants" (instance (type 0)))
    )
  )
  (export (;1;) "variants" (type 0))
  (type (;2;)
    (component
      (type (;0;)
        (component
          (type (;0;)
            (instance
              (type (;0;) (enum "a"))
              (export (;1;) "e1" (type (eq 0)))
              (type (;2;) (record (field "f" u8)))
              (export (;3;) "single" (type (eq 2)))
              (type (;4;) (variant (case "a") (case "c" 1) (case "d" string) (case "e" 3) (case "f") (case "g" u32)))
              (export (;5;) "v1" (type (eq 4)))
              (type (;6;) (variant (case "a" s32) (case "b" f32)))
              (export (;7;) "casts1" (type (eq 6)))
              (type (;8;) (variant (case "a" f64) (case "b" f32)))
              (export (;9;) "casts2" (type (eq 8)))
              (type (;10;) (variant (case "a" f64) (case "b" u64)))
              (export (;11;) "casts3" (type (eq 10)))
              (type (;12;) (variant (case "a" u32) (case "b" s64)))
              (export (;13;) "casts4" (type (eq 12)))
              (type (;14;) (variant (case "a" f32) (case "b" s64)))
              (export (;15;) "casts5" (type (eq 14)))
              (type (;16;) (tuple f32 u32))
              (type (;17;) (tuple u32 u32))
              (type (;18;) (variant (case "a" 16) (case "b" 17)))
              (export (;19;) "casts6" (type (eq 18)))
              (type (;20;) (enum "bad1" "bad2"))
              (export (;21;) "my-errno" (type (eq 20)))
              (type (;22;) (func (param "x" 1)))
              (export (;0;) "e1-arg" (func (type 22)))
              (type (;23;) (func (result 1)))
              (export (;1;) "e1-result" (func (type 23)))
              (type (;24;) (func (param "x" 5)))
              (export (;2;) "v1-arg" (func (type 24)))
              (type (;25;) (func (result 5)))
              (export (;3;) "v1-result" (func (type 25)))
              (type (;26;) (func (param "x" bool)))
              (export (;4;) "bool-arg" (func (type 26)))
              (type (;27;) (func (result bool)))
              (export (;5;) "bool-result" (func (type 27)))
              (type (;28;) (option bool))
              (type (;29;) (tuple u32))
              (type (;30;) (option 29))
              (type (;31;) (option u32))
              (type (;32;) (option 1))
              (type (;33;) (option f32))
              (type (;34;) (option 28))
              (type (;35;) (func (param "a" 28) (param "b" 30) (param "c" 31) (param "d" 32) (param "e" 33) (param "g" 34)))
              (export (;6;) "option-arg" (func (type 35)))
              (type (;36;) (tuple 28 30 31 32 33 34))
              (type (;37;) (func (result 36)))
              (export (;7;) "option-result" (func (type 37)))
              (type (;38;) (tuple 7 9 11 13 15 19))
              (type (;39;) (func (param "a" 7) (param "b" 9) (param "c" 11) (param "d" 13) (param "e" 15) (param "f" 19) (result 38)))
              (export (;8;) "casts" (func (type 39)))
              (type (;40;) (result))
              (type (;41;) (result (error 1)))
              (type (;42;) (result 1))
              (type (;43;) (result 29 (error 29)))
              (type (;44;) (result u32 (error 5)))
              (type (;45;) (list u8))
              (type (;46;) (result string (error 45)))
              (type (;47;) (func (param "a" 40) (param "b" 41) (param "c" 42) (param "d" 43) (param "e" 44) (param "f" 46)))
              (export (;9;) "expected-arg" (func (type 47)))
              (type (;48;) (tuple 40 41 42 43 44 46))
              (type (;49;) (func (result 48)))
              (export (;10;) "expected-result" (func (type 49)))
              (type (;50;) (result s32 (error 21)))
              (type (;51;) (func (result 50)))
              (export (;11;) "return-expected-sugar" (func (type 51)))
              (type (;52;) (result (error 21)))
              (type (;53;) (func (result 52)))
              (export (;12;) "return-expected-sugar2" (func (type 53)))
              (type (;54;) (result 21 (error 21)))
              (type (;55;) (func (result 54)))
              (export (;13;) "return-expected-sugar3" (func (type 55)))
              (type (;56;) (tuple s32 u32))
              (type (;57;) (result 56 (error 21)))
              (type (;58;) (func (result 57)))
              (export (;14;) "return-expected-sugar4" (func (type 58)))
              (type (;59;) (option s32))
              (type (;60;) (func (result 59)))
              (export (;15;) "return-option-sugar" (func (type 60)))
              (type (;61;) (option 21))
              (type (;62;) (func (result 61)))
              (export (;16;) "return-option-sugar2" (func (type 62)))
              (type (;63;) (result u32 (error s32)))
              (type (;64;) (func (result 63)))
              (export (;17;) "expected-simple" (func (type 64)))
            )
          )
          (import "foo:variants/variants" (instance (;0;) (type 0)))
        )
      )
      (export (;0;) "foo:variants/variants-world" (component (type 0)))
    )
  )
  (export (;3;) "variants-world" (type 2))
  (@custom "package-docs" "\01{}")
  (@producers
    (processed-by "wit-component" "$CARGO_PKG_VERSION")
  )
)
